"""
鼠标 Report Map 定义，Report ID 为 2
"""
REPORT_MAP_DATA = [
	0x05, 0x01, # USAGE_PAGE (Generic Desktop)
    0x09, 0x02, # USAGE (Mouse)
    0xa1, 0x01, # COLLECTION (Application)
    0x85, 0x02, #   REPORT_ID (2)
    0x09, 0x01, #   USAGE (Pointer)
    0xa1, 0x00, #   COLLECTION (Physical)
    0x05, 0x09, #     USAGE_PAGE (Button)
    0x19, 0x01, #     USAGE_MINIMUM (Button 1)
    0x29, 0x03, #     USAGE_MAXIMUM (Button 3)
    0x15, 0x00, #     LOGICAL_MINIMUM (0)
    0x25, 0x01, #     LOGICAL_MAXIMUM (1)
    0x95, 0x03, #     REPORT_COUNT (3)
    0x75, 0x01, #     REPORT_SIZE (1)
    0x81, 0x02, #     INPUT (Data,Var,Abs)
    0x95, 0x01, #     REPORT_COUNT (1)
    0x75, 0x05, #     REPORT_SIZE (5)
    0x81, 0x03, #     INPUT (Cnst,Var,Abs)
    0x05, 0x01, #     USAGE_PAGE (Generic Desktop)
    0x09, 0x30, #     USAGE (X)
    0x09, 0x31, #     USAGE (Y)
    0x15, 0x81, #     LOGICAL_MINIMUM (-127)
    0x25, 0x7f, #     LOGICAL_MAXIMUM (127)
    0x75, 0x08, #     REPORT_SIZE (8)
    0x95, 0x02, #     REPORT_COUNT (2)
    0x81, 0x06, #     INPUT (Data,Var,Rel)
    0xc0,       #   END_COLLECTION
]

"""
用于发送鼠标左键按下一次
"""
def send_mouse_click(self):
	if self.__conn_handle is not None:
		# 0x2 为 REPORT_MAP_DATA 中定义的 Report ID
		# 0x1 代表鼠标 左键 按下
		# 2 个 0x0 代表鼠标 右键、中键 未按下
		self.__write(self.__handle_report, bytes([0x2, 0x1, 0x0, 0x0]))
		self.__notify(self.__conn_handle, self.__handle_report)

		self.__write(self.__handle_report, bytes([0x2, 0x0, 0x0, 0x0]))
		self.__notify(self.__conn_handle, self.__handle_report)
